package com.ruoyi.system.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.SysSingerMapper;
import com.ruoyi.system.domain.SysSinger;
import com.ruoyi.system.service.ISysSingerService;

/**
 * 歌手Service业务层处理
 * 
 * @author Johnson
 * @date 2025-04-30
 */
@Service
@RequiredArgsConstructor
public class SysSingerServiceImpl implements ISysSingerService {

    private final  SysSingerMapper sysSingerMapper;

    /**
     * 查询歌手
     * 
     * @param singerId 歌手主键
     * @return 歌手
     */
    @Override
    public SysSinger selectSysSingerBySingerId(Long singerId) {
        return sysSingerMapper.selectSysSingerBySingerId(singerId);
    }

    /**
     * 查询歌手
     *
     * @param singerName 歌手名称
     * @return 歌手
     */
    @Override
    public SysSinger selectSysSingerBySingerName(String singerName) {
        return sysSingerMapper.selectSysSingerBySingerName(singerName);
    }

    /**
     * 查询歌手列表
     * 
     * @param sysSinger 歌手
     * @return 歌手
     */
    @Override
    public List<SysSinger> selectSysSingerList(SysSinger sysSinger) {
        return sysSingerMapper.selectSysSingerList(sysSinger);
    }

    /**
     * 新增歌手
     * 
     * @param sysSinger 歌手
     * @return 结果
     */
    @Override
    public int insertSysSinger(SysSinger sysSinger) {
        sysSinger.setCreateTime(DateUtils.getNowDate());
        return sysSingerMapper.insertSysSinger(sysSinger);
    }

    /**
     * 修改歌手
     * 
     * @param sysSinger 歌手
     * @return 结果
     */
    @Override
    public int updateSysSinger(SysSinger sysSinger) {
        sysSinger.setUpdateTime(DateUtils.getNowDate());
        return sysSingerMapper.updateSysSinger(sysSinger);
    }

    /**
     * 批量删除歌手
     * 
     * @param singerIds 需要删除的歌手主键
     * @return 结果
     */
    @Override
    public int deleteSysSingerBySingerIds(Long[] singerIds) {
        return sysSingerMapper.deleteSysSingerBySingerIds(singerIds);
    }

    /**
     * 删除歌手信息
     * 
     * @param singerId 歌手主键
     * @return 结果
     */
    @Override
    public int deleteSysSingerBySingerId(Long singerId) {
        return sysSingerMapper.deleteSysSingerBySingerId(singerId);
    }
}
